#include #include #define input "TRACE.INP" #define output "TRACE.OUT" int giaithua(int n) { if (n==0||n==1) return 1; int gt=1; for (int i=2;i<=n;i++) gt=gt*i; return gt; } int main() { FILE*f1,*f2; int xA,yA,xB,yB,d=0,E=0,W=0,N=0,S=0,m,i,j; char T[225]; int a[10]; f1 = fopen(input,"r"); f2 = fopen(output,"w"); fscanf(f1,"%d%d%d%d",&xA,&yA,&xB,&yB); fscanf(f1,"%s",T); int n=strlen(T); for (i=0;ixA) E=xB-xA; else W= xA-xB; if (yB>yA) N=yB-yA; else S= yA-yB; m=d-E-N-S-W; i=0; for (j=0;j0) dem=gt/(giaithua(E+m/2)*giaithua(W+m/2)*giaithua(N)*giaithua(S))+gt/(giaithua(E)*giaithua(W)*giaithua(N+m/2)*giaithua(S+m/2)); else dem=gt/(giaithua(E+m/2)*giaithua(W+m/2)*giaithua(N)*giaithua(S)); fprintf(f2,"%s",T); fprintf(f2,"\n%d",dem); fclose(f1); fclose(f2); }